﻿<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title>注册</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="format-detection" content="telephone=no">
    <meta name="renderer" content="webkit">
    <meta http-equiv="Cache-Control" content="no-siteapp"/>
    <link rel="stylesheet" href="./AmazeUI-2.4.2/assets/css/amazeui.min.css"/>
    <link href="./css/dlstyle.css" rel="stylesheet" type="text/css">
    <script src="./AmazeUI-2.4.2/assets/js/jquery.min.js"></script>
    <script src="./AmazeUI-2.4.2/assets/js/amazeui.min.js"></script>
    <!-- 引入vue + axios + common.js -->
    <script src="js/plugins/vue/dist/vue.js"></script>
    <script src="js/plugins/axios/dist/axios.js"></script>
    <script src="js/common.js"></script>
</head>
<body>
<div class="login-boxtitle">
    <a href="home/demo.html"><img alt="" src="./images/logobig.png"/></a>
</div>
<div class="res-banner">
    <div class="res-main">
        <div class="login-banner-bg"><span></span><img src="./images/big.jpg"/></div>
        <div class="login-box">
            <div class="am-tabs" id="doc-my-tabs">
                <ul class="am-tabs-nav am-nav am-nav-tabs am-nav-justify">
                    <li class="am-active"><a href="">邮箱注册</a></li>
                    <li><a href="">手机号注册</a></li>
                </ul>

                <div class="am-tabs-bd" id="userRegister">
                    <div class="am-tab-panel am-active">
                        <form method="post">
                            <div class="user-email">
                                <label for="email"><i class="am-icon-envelope-o"></i></label>
                                <input type="email" v-model="emailUserForm.email" id="email" placeholder="请输入邮箱账号">
                            </div>
                            <div class="user-pass">
                                <label for="password"><i class="am-icon-lock"></i></label>
                                <input type="password" v-model="emailUserForm.password" id="password" placeholder="设置密码">
                            </div>
                            <div class="user-pass">
                                <label for="passwordRepeat"><i class="am-icon-lock"></i></label>
                                <input type="password" v-model="emailUserForm.passwordRepeat" id="passwordRepeat" placeholder="确认密码">
                            </div>
                        </form>
                        <div class="login-links">
                            <label for="reader-me">
                                <input id="" type="checkbox"> 点击表示您同意商城《服务协议》
                            </label>
                        </div>
                        <div class="am-cf">
                            <input type="submit" @click="emailRegister" name="" value="注册" class="am-btn am-btn-primary am-btn-sm am-fl">
                        </div>
                    </div>
                    <div class="am-tab-panel">
                        <form method="post">
                            <div class="user-phone">
                                <label for="phone"><i class="am-icon-mobile-phone am-icon-md"></i></label>
                                <input type="tel" v-model="phoneUserForm.phone" name="" id="phone" placeholder="请输入手机号">
                            </div>

                            <div class="user-phone">
                                <label for="imageCode"><i class="am-icon-check am-icon-sm"></i></label>
                                <input type="text" name="" style="width: 180px;" v-model="phoneUserForm.imageCode" id="imageCode" placeholder="请输入图片验证码">
                                <img id="captcha-image-temp" @click="getImageCode" :src="baseImageCode"  class="captcha-image-temp"  alt="点击换图" title="点击换图" style="vertical-align: middle; cursor: pointer;">
                            </div>
                            <div class="verification">
                            <label for="code"><i class="am-icon-code-fork"></i></label>
                            <input type="tel" name="" id="code" v-model="phoneUserForm.phoneCode" placeholder="请输入验证码">
                            <button type="button" id="dyMobileButton" @click="sendMobileCode">获取</button>
                        </div>
                            <div class="user-pass">
                                <label for="password"><i class="am-icon-lock"></i></label>
                                <input type="password" name="" v-model="phoneUserForm.password" id="phoneUserForm.password" placeholder="设置密码">
                            </div>
                            <div class="user-pass">
                                <label for="passwordRepeat"><i class="am-icon-lock"></i></label>
                                <input type="password" name="" v-model="phoneUserForm.passwordRepeat" id="phoneUserForm.passwordRepeat" placeholder="确认密码">
                            </div>
                        </form>
                        <div class="login-links">
                            <label for="reader-me">
                                <input id="reader-me" type="checkbox"> 点击表示您同意商城《服务协议》
                            </label>
                        </div>
                        <div class="am-cf">
                            <input type="submit" name="" @click="phoneRegister" value="注册" class="am-btn am-btn-primary am-btn-sm am-fl">
                        </div>
                        <hr>
                    </div>
                    <script>
                        $(function () {
                            $('#doc-my-tabs').tabs();
                        })
                    </script>
                </div>
            </div>
        </div>
    </div>
    <div class="footer ">
        <div class="footer-hd ">
            <p>
                <a href="# ">恒望科技</a>
                <b>|</b>
                <a href="# ">商城首页</a>
                <b>|</b>
                <a href="# ">支付宝</a>
                <b>|</b>
                <a href="# ">物流</a>
            </p>
        </div>
        <div class="footer-bd ">
            <p>
                <a href="# ">关于恒望</a>
                <a href="# ">合作伙伴</a>
                <a href="# ">联系我们</a>
                <a href="# ">网站地图</a>
                <em>© 2015-2025 Hengwang.com 版权所有. 更多模板 <a href="http://www.cssmoban.com/" target="_blank" title="模板之家">模板之家</a>
                    - Collect from <a href="http://www.cssmoban.com/" title="网页模板" target="_blank">网页模板</a></em>
            </p>
        </div>
        <script type="text/javascript">
            new Vue({
                el:"#userRegister",
                data:{
                    baseImageCode:'',
                    baseImageCodePrefix:'data:image/jpeg;base64,',
                    phoneUserForm:{
                        phone: '18581708526',
                        imageCode:'',
                        phoneCode:'',
                        password:'',
                        passwordRepeat:''
                    },
                    emailUserForm:{
                        email:'21998297496@qq.com',
                        password:'',
                        passwordRepeat:''
                    }
                },
                methods:{
                    emailRegister(){
                        this.$http.post("/user/email/register",this.emailUserForm)
                            .then(result=>{
                                if(result.data.success){
                                    location.href="/pethome-user/login.html";
                                }else {
                                    alert(result.data.message);
                                }
                            }).catch(result=>{
                            alert("系统错误!!!")
                        })
                    },
                    phoneRegister(){
                        this.$http.post("/user/phone/register",this.phoneUserForm)
                        .then(result=>{
                           if(result.data.success){
                               location.href="/pethome-user/login.html";
                           }else {
                               alert(result.data.message);
                           }
                        }).catch(result=>{
                            alert("系统错误!!!")
                        })
                    },
                    sendMobileCode(){
                        //1.判断手机号不为空
                        if(!this.phoneUserForm.phone){
                            alert("手机号不能为空");
                            return;
                        }
                        //2.判断图片验证码不为空
                        if(!this.phoneUserForm.imageCode){
                            alert("图片验证码不能为空");
                            return;
                        }
                        //3.获取按钮，禁用按钮  发送时灰化不能使用，发送成功倒计时60才能使用，如果发送失败立即可以发送
                        var sendBtn = $(event.target);
                        sendBtn.attr("disabled",true);

                        var param = {
                            phone: this.phoneUserForm.phone,
                            imageCode: this.phoneUserForm.imageCode,
                            imageCodeKey: localStorage.getItem("phoneregisterCodeKey")
                        };
                        //4.发送ajax请求
                        this.$http.post("/verifyCode/smsCode",param).then(result=>{
                            var ajaxResult = result.data;
                            if(ajaxResult.success){
                                alert("手机验证码已经发送到您的手机，请在3分钟内使用");
                                //4.1.发送成：倒计时
                                var time = 60;

                                var interval = window.setInterval( function () {
                                    //每一条倒计时减一
                                    time = time - 1 ;
                                    //把倒计时时间搞到按钮上
                                    sendBtn.html(time);
                                    //4.2.倒计时完成恢复按钮
                                    if(time <= 0){
                                        sendBtn.html("重新发送");
                                        sendBtn.attr("disabled",false);
                                        //清除定时器
                                        window.clearInterval(interval);
                                    }
                                },1000);
                            }else{
                                //4.3.发送失败：提示，恢复按钮
                                sendBtn.attr("disabled",false);
                                alert("发送失败:"+ajaxResult.message);
                            }
                        })
                },
                    createUuid(){
                        var s = [];
                        var hexDigits = "0123456789abcdefghi";
                        for (var i = 0; i < 36; i++) {
                            s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
                        }
                        s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
                        s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
                        s[8] = s[13] = s[18] = s[23] = "-";

                        var uuid = s.join("");
                        return uuid;
                    },
                    getImageCode(){
                        /*phoneregisterCodeKey*/
                        //1.从localStorage中获取key:phoneregisterCodeKey
                       var key=localStorage.getItem("phoneregisterCodeKey");
                        //2.判断:为空就重新生成,不为空就直接使用--让key唯一
                        if(!key){       //如果key为空
                           key=this.createUuid();
                           localStorage.setItem("phoneregisterCodeKey",key);
                        }
                        //3.发送异步请求并且携带数据key
                        this.$http.get("/verifyCode/image/"+key).then(result=>{
                            //4.在回调函数获取响应的数据与拼接前缀 绑定到src
                            this.baseImageCode=this.baseImageCodePrefix+result.data.resultObj;
                        })
                    },
                },
                mounted(){
                    this.getImageCode();
                }
            })
        </script>
    </div>
</div>
</body>

</html>